package org.zwy.gradetrack.service;

import org.zwy.gradetrack.entity.Role;
import org.zwy.gradetrack.entity.UserRole;

import java.util.List;

/**
 * 角色验证服务接口
 */
public interface RoleValidationService {
    
    /**
     * 验证角色是否存在
     */
    boolean validateRoleExists(Long roleId);
    
    /**
     * 验证角色列表是否都存在
     */
    boolean validateRolesExist(List<Long> roleIds);
    
    /**
     * 获取角色信息
     */
    Role getRole(Long roleId);
    
    /**
     * 获取角色列表
     */
    List<Role> getRoles(List<Long> roleIds);
    
    /**
     * 检查用户是否拥有指定角色
     */
    boolean hasRole(Long userId, Long roleId);
    
    /**
     * 获取用户的所有角色
     */
    List<UserRole> getUserRoles(Long userId);
} 